﻿/*************************************
 * Creator:peiyang
 * DateTime:2021/3/18 8:22:51
 * Description:<Description>
 * CopyRight:臭皮匠工作室
 * ***********************************/

using Cpjit.SunnyPaine.Toolkit.ActiveMQ.Enums;
using Cpjit.SunnyPaine.Toolkit.ActiveMQ.Model;
using System;

namespace Cpjit.SunnyPaine.Toolkit.ActiveMQ
{
    /// <summary>
    /// 表示消费者信息的接口。
    /// </summary>
    public interface IConsumer : IDisposable
    {
        /// <summary>
        /// 消息目标类型。
        /// </summary>
        DestType DestinationType { get; set; }

        /// <summary>
        /// 消息目标名称。
        /// </summary>
        string DestinationName { get; set; }

        /// <summary>
        /// 是否订阅。true：订阅，false：不订阅。
        /// </summary>
        bool IsSubscribed { get; set; }

        /// <summary>
        /// ActiveMQ客户端对象。
        /// </summary>
        IActivemqClient ActivemqClient { get; set; }


        /// <summary>
        /// 接收消息。
        /// </summary>
        /// <param name="client"></param>
        /// <param name="args"></param>
        void Receive(IActivemqClient client, DataEventArgs args);
    }
}
